package picobot.implementation;

import picobot.bot.Picobot;
import picobot.interfaces.core.IFactory;
import picobot.interfaces.core.IMapBuilder;
import picobot.interfaces.core.IPicobot;
import picobot.interfaces.core.IRuleBuilder;
import picobot.interfaces.core.ISimulator;
import picobot.map.MapBuilder;
import picobot.rule.RuleBuilder;
import picobot.simulation.Simulator;

/**
 * a class that is used for creating instances of MapBuilder, Picobot, RuleBuilder and Simulator
 */
public class Factory implements IFactory {

	@Override
	public IMapBuilder createMapBuilder() {
		return new MapBuilder();
	}

	@Override
	public IPicobot createPicobot() {
		return new Picobot();
	}

	@Override
	public IRuleBuilder createRuleBuilder() {
		return new RuleBuilder();
	}

	@Override
	public ISimulator createSimulator() {
		return new Simulator();
	}

}
